Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

144
Visualizações
Hojas de Google: extraiga números con sus unidades de medida separadas por un espacio en blanco, por ejemplo, "20 km"

Tengo un script para una función personalizada que extrae números con sus unidades de medida:

 /** * @customfunction */ function EXTRACTMEASUREMENT(input) { // match all words which starts with a number var result = input.match(/\d+[a-zA-Zα-ωΑ-Ω]+\S*/g) // combine array into a string separated with spaces result = result.join(' '); // Remove special characters(except whitespace) in the string result = result.replace(/[^a-zA-Zα-ωΑ-Ω0-9\s]/g, '') return result; }

Por ejemplo, tengo un texto en H42 y pongo la función en I42. Funciona así:

ingrese la descripción de la imagen aquí

producción

Pero es que si pongo en H42 un número pero seguido de un espacio y luego la unidad de medida, la función no lo detecta y por lo tanto ni siquiera lo extrae. Ver ejemplo:

ingrese la descripción de la imagen aquí

Como puede ver, "12 kg" y "1 L" tienen un espacio en blanco entre ellos. Entonces, la función solo extrae "50gr", que no está separado por un espacio en blanco.

¿Qué puedo hacer para que la función personalizada devuelva los números con sus unidades de medida incluso si están separados por un espacio en blanco? quiero que vuelva

12kg 1L 50gr

al igual que la segunda imagen adjunta.

Solo soy un principiante en esto, así que no sé cómo escribir código. Sería muy útil si pudiera hacer las modificaciones adecuadas a mi script y luego pegarlo en las respuestas.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Probar

 =arrayformula(substitute(transpose(query(flatten(split( REGEXREPLACE(A1,"([0-9.,/]+[ ]{0,1}[a-zA-Z1-3/.\-""]+)","♣♦$1♣") ,"♣")),"select * where Col1 like '♦%' ")),"♦",""))

o con resultado en una celda

 =substitute(textjoin(" - ",true,query(flatten(split( REGEXREPLACE(A1,"([0-9.,/]+[ ]{0,1}[a-zA-Z1-3/.\-""]+)","♣♦$1♣") ,"♣")),"select * where Col1 like '♦%' ")),"♦","")

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda